/**
 * @author Vitor Franco do Carmo (vitor.carmo@capgemini.com)
 * @since 04/10/2013
 *
 */
package br.com.vfcfw.controller.enums;

/**
 * Interface que define as enumerações com os estados possíveis de um Managed Bean. <br />A partir da extensão dessa
 * interface é possível criar estados novos para um Managed Bean.
 * 
 * @author Vitor Franco do Carmo (vitor.carmo@capgemini.com)
 * @since 04/10/2013
 * 
 */
public interface IEstadoCRUD {

    /**
     * Verifica se o Managed Bean está no estado de pesquisa.
     * 
     * @return <tt>TRUE</tt> se estiver no estado de pesquisa, <tt>FALSE</tt> caso contrário.
     */
    public boolean isPesquisando(IEstadoCRUD estadoCRUD);

    /**
     * Verifica se o Managed Bean está no estado de inserção.
     * 
     * @return <tt>TRUE</tt> se estiver no estado de inserção, <tt>FALSE</tt> caso contrário.
     */
    public boolean isInserindo(IEstadoCRUD estadoCRUD);

    /**
     * Verifica se o Managed Bean está no estado de edição.
     * 
     * @return <tt>TRUE</tt> se estiver no estado de edição, <tt>FALSE</tt> caso contrário.
     */
    public boolean isEditando(IEstadoCRUD estadoCRUD);

    /**
     * Verifica se o Managed Bean está no estado de visualização.
     * 
     * @return <tt>TRUE</tt> se estiver no estado de visualização, <tt>FALSE</tt> caso contrário.
     */
    public boolean isVisualizando(IEstadoCRUD estadoCRUD);

}
